home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 2
/
SPACE - Library 2 - Volume 1.iso
/
utility
/
650
/
nroff121
/
tmac.s
< prev
Wrap
Text File
|
1992-07-03
|
18KB
|
831 lines
.\" @(*) tmac.s 1.10p5 91/2/24 rosenkra
.\" **************************************************************************
.\" partial -ms package for nroff. macros for simple paper/report formats
.\"
.\" usage: nroff -ms file [...]
.\" installed path: c:\lib\tmac\tmac.s (TMACDIR)
.\" user macros: TL, AU, AI, AB, AE, SH, NH, PP, LP, QP, XP, RS, RE,
.\" IP, I, B, R, IR, RI, BR, RB, IB, BI, XS, XA, XE
.\" extensions: TI, EX
.\" no-ops: PX
.\" debuging: }D
.\" internal macros: }R
.\" strings used: Q, U, -, CR, LF, RF, DW, MO, Dy, Da, Yr, dY, DY, TM,
.\" DA, CT, Xx
.\" registers used: A, B, C, D, E, F, G, H, I, J, K, M, O, P, Q, R, X, Z
.\" bugs: many features not implemented.
.\" IP does not place short tags on same line.
.\" table of contents stuff (XS,XA,XE,PX) kludgy.
.\" author: rosenkra@convex.com (Bill Rosenkranz)
.\" version: for ST nroff v1.10p5
.\" date: 91/2/24
.\" restrictions: none. freely distributable (no copyright, etc.)
.\" **************************************************************************
.\"
.\" control
.\"
.\" set this >0 to turn on debugging
.nr Z 0
.\" set M>0 for use with manpager(1), and then N>0 if SH and TL are to be bold
.nr M 1
.nr N 1
.\" set O>1 for page offset and line width oriented toward screen viewing
.nr O 1
.\"
.\" **************************************************************************
.\"
.\" some predefined strings (Quote, Unquote, dash, footer parts, etc):
.\"
.if \nM=0 \{\
. ds ' "'
. ds ` "'
. ds Q ""
. ds U ""
. ds - "--
\}
.if \nM>0 \{\
. ds ' "
'
. ds ` "
`
. ds Q "
!
. ds U "
"
.\" ds - "
-
. ds - "
å
\}
.ds CF "ImPoSsIbLe
.ds LF "\0
.ds RF "\0
.\"
.\" these are various predefined date and time strings
.\"
.\" DW day-of-week:
.if \n(dw=1 .ds DW "Sun
.if \n(dw=2 .ds DW "Mon
.if \n(dw=3 .ds DW "Tue
.if \n(dw=4 .ds DW "Wed
.if \n(dw=5 .ds DW "Thu
.if \n(dw=6 .ds DW "Fri
.if \n(dw=7 .ds DW "Sat
.\" MO month:
.if \n(mo=1 .ds MO "January
.if \n(mo=2 .ds MO "February
.if \n(mo=3 .ds MO "March
.if \n(mo=4 .ds MO "April
.if \n(mo=5 .ds MO "May
.if \n(mo=6 .ds MO "June
.if \n(mo=7 .ds MO "July
.if \n(mo=8 .ds MO "August
.if \n(mo=9 .ds MO "September
.if \n(mo=10 .ds MO "October
.if \n(mo=11 .ds MO "November
.if \n(mo=12 .ds MO "December
.\" make some composites:
.ds Dy "\*(MO \n(dy
.ds Da "\n(hh:\n(mm:\n(ss \n(mo/\n(dy/\n(yr
.ds Yr "19\n(yr
.ds dY "\*(Dy, \*(Yr
.ds DY "\n(dy \*(MO \*(Yr
.ds TM "\n(hh:\n(mm:\n(ss
.ds DA "\*(TM \*(DY
.ds CT "\*(DW \*(Dy \*(TM 19\n(yr
.\"
.\" they look like this:
.\"
.\" DW Sun
.\" MO March
.\" Dy March 4
.\" dY March 4, 1990
.\" DY 4 March 1990 <--- "normal" nroff form
.\" Yr 1990
.\" TM 16:34:00
.\" DA 16:34:00 March 4, 1990
.\" Da 16:34:00 2/4/90
.\" CT Sun March 4 16:34:00 1990 almost like ctime(2)
.\"
.\" **************************************************************************
.\"
.\" startup stuff...
.\"
.if \nO>0 .po 0.8i
.pl 66
.if \nO=0 \{\
. ll 6.0i
. lt 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
. lt 6.4i
\}
.m1 3
.m2 2
.m3 3
.m4 3
.\" no header line on first page! (set back in AB, SH, NH, LP, PP, QP)
.tl ||||
.\" this is the default footer (date, centered) unless string CF is defined
.fo ||\*(DY||
.\" these are for NH numbering (up to 5 levels, a la sun, X holds level)
.nr A 0 1
.af A 1
.nr B 0 1
.af B 1
.nr C 0 1
.af C 1
.nr D 0 1
.af D 1
.nr E 0 1
.af E 1
.nr X 1 1
.nr P 0 1
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.nr K 0 1
.\"
.\" **************************************************************************
.\"
.\" MACROS...
.\"
.\" ---------------------------------------------------------------------- TL
.\" title for document (optional unless abstract)
.\"
.de TL
.sp 4
.ce 1000
.\" reset footer. you MUST define CF, even to blank, to get the others!
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
.if \nM>0 .if \nN>0 \&\fB
.\" flag bold...
.if \nM>0 .if \nN>0 .nr K 1
..
.\" ---------------------------------------------------------------------- AU
.\" author(s) (optional, requires .TL)
.\"
.de AU
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.sp 2
..
.\" ---------------------------------------------------------------------- AI
.\" author's institution (optional, requires .TL)
.\"
.de AI
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.sp 1
..
.\" ---------------------------------------------------------------------- AB
.\" abstract (optional, requires .TL, .AE)
.\"
.de AB
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.sp 2
.\" check for arg to AB. can be "no" or something like "SUMMARY". if "no",
.\" no title above the abstract
.if !"$1"no" .if "$1"" ABSTRACT
.if !"$1"no" .if !"$1"" $1
.if !"$1"no" .sp 1
.\" set new line length...
.ce 0
.if \nO=0 \{\
. ll 5.0i
. in 0.5i
\}
.if \nO>0 \{\
. ll 5.4i
. in 0.5i
\}
.tl ||- % -||
..
.\" ---------------------------------------------------------------------- AE
.\" abstract end (optional, requires .TL)
.\"
.de AE
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.sp 1
.\" reset...
.ce 0
.in 0.0i
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
..
.\" ----------------------------------------------------------------------- SH
.\" section heading, no number (optional)
.\"
.de SH
.{R
.if \nM>0 .if \nN>0 \&\fB
.\" flag bold...
.if \nM>0 .if \nN>0 .nr K 1
.\" section title goes here, fill mode only so far...
..
.\"
.\" subroutine for section head reset (SH and NH)
.de {R
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" reset...
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.0i
.tl ||- % -||
.\" see note in TL
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
.\" .br
.ce 0
.sp 2
.ne 4
..
.\" ---------------------------------------------------------------------- NH
.\" numbered section heading. arg (required) is the section level.
.\" this would be MUCH simpler if the .if command supported "{...}". there is
.\" a bug in nroff. i does not set the .$ number register correctly (number of
.\" args for the current macro). that is the reason why level 1 must be set.
.\"
.de NH
.{R
.\" if ".NH 0", reset numbering
.if $1=0 \{\
. nr A 1 1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.\" level 1 (two types here: ".NH" and ".NH 1"):
.\" once .$ num reg is fixed, these 5 should be: .if \n(.$=0 .nr A +1 etc.
.if "$1"" \{\
. nr A +1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.if "$1"1" \{\
. nr A +1
. nr B 0 1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 1 1
\}
.\" level 2 (increment B, reset lower levels):
.if "$1"2" \{\
. nr B +1
. nr C 0 1
. nr D 0 1
. nr E 0 1
. nr X 2 1
\}
.\" level 3 (increment C, reset lower levels):
.if "$1"3" \{\
. nr C +1
. nr D 0 1
. nr E 0 1
. nr X 3 1
\}
.\" level 4 (increment D, reset lower levels):
.if "$1"4" \{\
. nr D +1
. nr E 0 1
. nr X 4 1
\}
.\" level 5 (increment E, no more lower levels!):
.if "$1"5" \{\
. nr E +1
. nr X 5 1
\}
.\" print out the section number now, depending on current level...
.if \nM>0 \{
. if \nN>0 .if \nX=1 \&\fB\nA.
. if \nN>0 .if \nX=2 \&\fB\nA.\nB.
. if \nN>0 .if \nX=3 \&\fB\nA.\nB.\nC.
. if \nN>0 .if \nX=4 \&\fB\nA.\nB.\nC.\nD.
. if \nN>0 .if \nX=5 \&\fB\nA.\nB.\nC.\nD.\nE.
.\" flag bold...
. if \nN>0 .nr K 1
\}
.if \nM=0 \{
. if \nX=1 \&\nA.
. if \nX=2 \&\nA.\nB.
. if \nX=3 \&\nA.\nB.\nC.
. if \nX=4 \&\nA.\nB.\nC.\nD.
. if \nX=5 \&\nA.\nB.\nC.\nD.\nE.
\}
.\" section title goes here...
..
.\" ----------------------------------------------------------------------- LP
.\" start a new left block paragraph (either .LP or .PP required)
.\"
.de LP
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" reset...
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.tl ||- % -||
.ce 0
.sp 1
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.0i
..
.\" ----------------------------------------------------------------------- PP
.\" start a new indented paragraph (either .LP or .PP required)
.\"
.de PP
.\" do everything for LP, then make a temp indent...
.LP
.ti +0.5i
..
.\" ----------------------------------------------------------------------- XP
.\" start a new extended paragraph (bibliography)
.\"
.de XP
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" reset...
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.tl ||- % -||
.ce 0
.sp 1
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.5i
.ti -0.5i
..
.\" ----------------------------------------------------------------------- QP
.\" start a new quoted paragraph (indented and shorter)
.\"
.de QP
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.nr P 0
.nr F 0 1
.nr G 0 1
.nr H 0 1
.nr I 0 1
.nr J 0 1
.tl ||- % -||
.ce 0
.sp 1
.\" set new line length, indent. PP, LP, SH, and NH reset
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
.in 0.0i
.ll -0.5i
.in +0.5i
..
.\" ----------------------------------------------------------------------- IP
.\" indented paragraph with tag (relative)
.\"
.de IP
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.tl ||- % -||
.ce 0
.\" .sp 1
.if \nR>0 .in 0
.if \nR=1 .in +\nF
.if \nR=2 \{\
. in +\nG
. in +\nF
\}
.if \nR=3 \{\
. in +\nH
. in +\nG
. in +\nF
\}
.if \nR=4 \{\
. in +\nI
. in +\nH
. in +\nG
. in +\nF
\}
.if \nR=5 \{\
. in +\nJ
. in +\nI
. in +\nH
. in +\nG
. in +\nF
\}
.if \nR=0 .if \nP>0 .in -\nP
.if !"$2"" .nr Q $2
.if "$2"" .nr Q 5
.in +\nQ
.nr P \nQ
.if \nR=1 .nr P +\nF
.if \nR=2 \{\
. nr P +\nG
. nr P +\nF
\}
.if \nR=3 \{\
. nr P +\nH
. nr P +\nG
. nr P +\nF
\}
.if \nR=4 \{\
. nr P +\nI
. nr P +\nH
. nr P +\nG
. nr P +\nF
\}
.if \nR=5 \{\
. nr P +\nJ
. nr P +\nI
. nr P +\nH
. nr P +\nG
.nr P +\nF
\}
.}D "***DEBUG IP: indent before tag is: \n(.i"
.}D .br
.if !"$1"" \{\
. ti -\nQ
\&$1
. br
\}
.}D "***DEBUG IP: indent after tag is: \n(.i"
..
.\" ----------------------------------------------------------------------- RS
.\" start relative indent (requires .RE)
.\"
.de RS
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.ce 0
.\" if there is arg, use that as indent, otherwise use +5
.if !"$1"" .nr Q $1
.if "$1"" .nr Q 5
.in +\nQ
.\" indent level (up to 5)
.if \n+R=1 .nr F \nQ
.if \nR=2 .nr G \nQ
.if \nR=3 .nr H \nQ
.if \nR=4 .nr I \nQ
.if \nR=5 .nr J \nQ
.}D "***DEBUG RS: indent after RS is: \n(.i"
.}D "***DEBUG RS: level (R) is: \nR"
.}D "***DEBUG RS: F = \nF"
.}D "***DEBUG RS: G = \nG"
.}D "***DEBUG RS: H = \nH"
.}D "***DEBUG RS: I = \nI"
.}D "***DEBUG RS: J = \nJ"
.}D .br
..
.\" ----------------------------------------------------------------------- RE
.\" end relative indent
.\"
.de RE
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.ce 0
.if \nR=1 .in -\nF
.if \nR=2 .in -\nG
.if \nR=3 .in -\nH
.if \nR=4 .in -\nI
.if \nR=5 .in -\nJ
.\"
.if \nR=1 .nr F 0 1
.if \nR=2 .nr G 0 1
.if \nR=3 .nr H 0 1
.if \nR=4 .nr I 0 1
.if \nR=5 .nr J 0 1
.if \n-R<0 .nr R 0 1
.}D "***DEBUG RE: indent after RE is: \n(.i"
.}D "***DEBUG RE: level (R) is: \nR"
.}D "***DEBUG RE: F = \nF"
.}D "***DEBUG RE: G = \nG"
.}D "***DEBUG RE: H = \nH"
.}D "***DEBUG RE: I = \nI"
.}D "***DEBUG RE: J = \nJ"
.}D .br
..
.\" ----------------------------------------------------------------------- XS
.\" table of contents start
.\"
.de XS
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.bp
.ce 1
.if \nM>0 \&\fBTable of Contents\fR
.if \nM=0 \&Table of Contents
.ce 0
.ll 8.0i
.sp 1
.\" \&123456789012345678901234567890123456789012345678901234567890
\&NOTE: add/del "dots" until line ends here ---------------->| (del this line)
.br
.\" save the page number...
.ds Xx "$1
.\" first entry goes here...
..
.\" ----------------------------------------------------------------------- XE
.\" table of contents end
.\"
.de XE
.\" dump last page number...
\&\0........................... \*(Xx
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
..
.\" ----------------------------------------------------------------------- XA
.\" subsequent table of contents entry
.\"
.de XA
.\" dump last page number...
\&\0........................... \*(Xx
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.\" save next page number...
.ds Xx "$1
.\" next entry goes here...
..
.\" ----------------------------------------------------------------------- PX
.\" print table of contents
.\"
.de PX
.\" this is a NOP without diversions...
.if \nO=0 \{\
. ll 6.0i
\}
.if \nO>0 \{\
. ll 6.4i
\}
..
.\" ----------------------------------------------------------------------- TI
.\" temporary indent
.\"
.de TI
.if \nM>0 .if \nN>0 .if \nK>0 \&\fR
.if \nK>0 .nr K 0
.br
.ce 0
.ti +0.5i
..
.\" ----------------------------------------------------------------------- EX
.\" exit NOW! (no extra space at end of document)
.\"
.de EX
.sp
.ex
..
.\" ----------------------------------------------------------------------- UL
.\" underline text
.\"
.de UL
.if \nM>0 \{\
. if \n(.$>0 \&\fI$1\fR
.\" flag font...
. if \n(.$=0 .nr K 1
\}
.\".if \nM=0 .if \n(.$>0 \&$1
.if \nM=0 \{\
. if \n(.$=1 \&$1
. if \n(.$=2 \&$1$2
. if \n(.$=3 \&$1$2$3
. if \n(.$=4 \&$1$2$3$4
. if \n(.$=5 \&$1$2$3$4$5
. if \n(.$=6 \&$1$2$3$4$5$6
\}
..
.\" ----------------------------------------------------------------------- I
.\" italic text
.\"
.de I
.if \nM>0 \{\
. if \n(.$=0 \&\fI\&
.\" flag font...
. if \n(.$=0 .nr K 1
.\"
.\". if \n(.$>0 \&\fI$1\fR
. if \n(.$=1 \&\fI$1\fR
. if \n(.$=2 \&\fI$1$2\fR
. if \n(.$=3 \&\fI$1$2$3\fR
. if \n(.$=4 \&\fI$1$2$3$4\fR
. if \n(.$=5 \&\fI$1$2$3$4$5\fR
. if \n(.$=6 \&\fI$1$2$3$4$5$6\fR
\}
.\".if \nM=0 .if \n(.$>0 \&$1
.if \nM=0 \{\
. if \n(.$=1 \&$1
. if \n(.$=2 \&$1$2
. if \n(.$=3 \&$1$2$3
. if \n(.$=4 \&$1$2$3$4
. if \n(.$=5 \&$1$2$3$4$5
. if \n(.$=6 \&$1$2$3$4$5$6
\}
..
.\" ----------------------------------------------------------------------- B
.\" bold text
.\"
.de B
.if \nM>0 \{\
. if \n(.$=0 \&\fB\&
.\" flag bold...
. if \n(.$=0 .nr K 1
.\"
.\". if \n(.$>0 \&\fB$1\fR
. if \n(.$=1 \&\fB$1\fR
. if \n(.$=2 \&\fB$1$2\fR
. if \n(.$=3 \&\fB$1$2$3\fR
. if \n(.$=4 \&\fB$1$2$3$4\fR
. if \n(.$=5 \&\fB$1$2$3$4$5\fR
. if \n(.$=6 \&\fB$1$2$3$4$5$6\fR
\}
.\".if \nM=0 .if \n(.$>0 \&$1
.if \nM=0 \{\
. if \n(.$=1 \&$1
. if \n(.$=2 \&$1$2
. if \n(.$=3 \&$1$2$3
. if \n(.$=4 \&$1$2$3$4
. if \n(.$=5 \&$1$2$3$4$5
. if \n(.$=6 \&$1$2$3$4$5$6
\}
..
.\" ----------------------------------------------------------------------- R
.\" Roman (normal) text
.\"
.de R
.\".if \nM>0 \&\fR\&
.if \nM>0 \{\
. if \n(.$=0 \&\fR\&
.\" unflag bold...
. if \n(.$=0 .nr K 0
.\"
. if \n(.$=1 \&\fR$1
. if \n(.$=2 \&\fR$1$2
. if \n(.$=3 \&\fR$1$2$3
. if \n(.$=4 \&\fR$1$2$3$4
. if \n(.$=5 \&\fR$1$2$3$4$5
. if \n(.$=6 \&\fR$1$2$3$4$5$6
\}
.if \nM=0 \{\
. if \n(.$=1 \&$1
. if \n(.$=2 \&$1$2
. if \n(.$=3 \&$1$2$3
. if \n(.$=4 \&$1$2$3$4
. if \n(.$=5 \&$1$2$3$4$5
. if \n(.$=6 \&$1$2$3$4$5$6
\}
..
.\" ----------------------------------------------------------------------- IR
.\" alternate italic and Roman text (must handle at least 6 args)
.\"
.de IR
.if \nM>0 \{\
. if \n(.$=1 \&\fI$1\fR
. if \n(.$=2 \&\fI$1\fR$2
. if \n(.$=3 \&\fI$1\fR$2\fI$3\fR
. if \n(.$=4 \&\fI$1\fR$2\fI$3\fR$4
. if \n(.$=5 \&\fI$1\fR$2\fI$3\fR$4\fI$5\fR
. if \n(.$=6 \&\fI$1\fR$2\fI$3\fR$4\fI$5\fR$6
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- RI
.\" alternate Roman and italic text (must handle at least 6 args)
.\"
.de RI
.if \nM>0 \{\
. if \n(.$=1 \&\fR$1
. if \n(.$=2 \&\fR$1\fI$2\fR
. if \n(.$=3 \&\fR$1\fI$2\fR$3
. if \n(.$=4 \&\fR$1\fI$2\fR$3\fI$4\fR
. if \n(.$=5 \&\fR$1\fI$2\fR$3\fI$4\fR$5
. if \n(.$=6 \&\fR$1\fI$2\fR$3\fI$4\fR$5\fI$6\fR
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- BR
.\" alternate bold and Roman text (must handle at least 6 args)
.\"
.de BR
.if \nM>0 \{\
. if \n(.$=1 \&\fB$1\fR
. if \n(.$=2 \&\fB$1\fR$2
. if \n(.$=3 \&\fB$1\fR$2\fB$3\fR
. if \n(.$=4 \&\fB$1\fR$2\fB$3\fR$4
. if \n(.$=5 \&\fB$1\fR$2\fB$3\fR$4\fB$5\fR
. if \n(.$=6 \&\fB$1\fR$2\fB$3\fR$4\fB$5\fR$6
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- RB
.\" alternate Roman and bold text (must handle at least 6 args)
.\"
.de RB
.if \nM>0 \{\
. if \n(.$=1 \&\fR$1
. if \n(.$=2 \&\fR$1\fB$2\fR
. if \n(.$=3 \&\fR$1\fB$2\fR$3
. if \n(.$=4 \&\fR$1\fB$2\fR$3\fB$4\fR
. if \n(.$=5 \&\fR$1\fB$2\fR$3\fB$4\fR$5
. if \n(.$=6 \&\fR$1\fB$2\fR$3\fB$4\fR$5\fB$6\fR
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- BI
.\" alternate bold and italic text (must handle at least 6 args)
.\"
.de BI
.if \nM>0 \{\
. if \n(.$=1 \&\fB$1\fR
. if \n(.$=2 \&\fB$1\fI$2\fR
. if \n(.$=3 \&\fB$1\fI$2\fB$3\fR
. if \n(.$=4 \&\fB$1\fI$2\fB$3\fI$4\fR
. if \n(.$=5 \&\fB$1\fI$2\fB$3\fI$4\fB$5\fR
. if \n(.$=6 \&\fB$1\fI$2\fB$3\fI$4\fB$5\fI$6\fR
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- IB
.\" alternate italic and bold text (must handle at least 6 args)
.\"
.de IB
.if \nM>0 \{\
. if \n(.$=1 \&\fI$1\fR
. if \n(.$=2 \&\fI$1\fB$2\fR
. if \n(.$=3 \&\fI$1\fB$2\fI$3\fR
. if \n(.$=4 \&\fI$1\fB$2\fI$3\fB$4\fR
. if \n(.$=5 \&\fI$1\fB$2\fI$3\fB$4\fI$5\fR
. if \n(.$=6 \&\fI$1\fB$2\fI$3\fB$4\fI$5\fB$6\fR
\}
.if \nM=0 \&$1$2$3$4$5$6
..
.\" ----------------------------------------------------------------------- }D
.\" debug. use (e.g. print current indent):
.\"
.\" .}D .br
.\" .}D "** DEBUG ** before RS \n(.i"
.\"
.de }D
.if \nZ>0 \&$1
..
.\"
.\"
.\" print macros first if debugging...
.if \nZ>0 \{\
. sp 2
Macros Defined:
. sp 2
. pm T
. sp 2
End Macro Definitions.
. sp 4
\}
.\"
.\" end of tmac.s